package ig.ejb.metrica.da;

import java.sql.Timestamp;
import javax.ejb.*;

/**
 * This is the bean class for the EspeciestasaspagoBean enterprise bean.
 * Created 18/08/2006 08:55:16 AM
 * @author jsanchez
 */
public abstract class EspeciestasaspagoBean implements EntityBean, EspeciestasaspagoLocalBusiness {
    private EntityContext context;
    
    // <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click on the + sign on the left to edit the code.">
    // TODO Consider creating Transfer Object to encapsulate data
    // TODO Review finder methods
    /**
     * @see javax.ejb.EntityBean#setEntityContext(javax.ejb.EntityContext)
     */
    public void setEntityContext(EntityContext aContext) {
        context = aContext;
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbActivate()
     */
    public void ejbActivate() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbPassivate()
     */
    public void ejbPassivate() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbRemove()
     */
    public void ejbRemove() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#unsetEntityContext()
     */
    public void unsetEntityContext() {
        context = null;
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbLoad()
     */
    public void ejbLoad() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbStore()
     */
    public void ejbStore() {
        
    }
    // </editor-fold>
    
    
    public abstract Integer getId();
    public abstract void setId(Integer id);
    
    public abstract Timestamp getFechaCorte();
    public abstract void setFechaCorte(Timestamp fechaCorte);
    
    public abstract String getIsin();
    public abstract void setIsin(String isin);
    
    public abstract Integer getForma();
    public abstract void setForma(Integer forma);
    
    public abstract Double getSpread();
    public abstract void setSpread(Double spread);
    
    public abstract Timestamp getFechainicio();
    public abstract void setFechainicio(Timestamp fechainicio);
    
    public abstract Timestamp getFechafin();
    public abstract void setFechafin(Timestamp fechafin);
    
    public abstract String getModalidadspread();
    public abstract void setModalidadspread(String modalidadspread);
    
    public abstract Integer getNominalmodalidadspread();
    public abstract void setNominalmodalidadspread(Integer nominalmodalidadspread);
    
    public abstract String getModalidadpago();
    public abstract void setModalidadpago(String modalidadpago);
    
    public abstract Integer getNominalmodalidadpago();
    public abstract void setNominalmodalidadpago(Integer nominalmodalidadpago);
    
    public abstract String getNombreTasa();
    public abstract void setNombreTasa(String nombreTasa);
    
    public abstract Integer getLiquidafindeperiodo();
    public abstract void setLiquidafindeperiodo(Integer liquidafindeperiodo);
    
    
    public Integer ejbCreate(Integer id, Timestamp fechaCorte, String isin, Integer forma, Double spread, Timestamp fechainicio, Timestamp fechafin, String modalidadspread, Integer nominalmodalidadspread, String modalidadpago, Integer nominalmodalidadpago, String nombreTasa, Integer liquidafindeperiodo)  throws CreateException {
        if (id == null) {
            throw new CreateException("The field \"id\" must not be null");
        }
        if (fechaCorte == null) {
            throw new CreateException("The field \"fechaCorte\" must not be null");
        }
        if (isin == null) {
            throw new CreateException("The field \"isin\" must not be null");
        }
        if (forma == null) {
            throw new CreateException("The field \"forma\" must not be null");
        }
        if (spread == null) {
            throw new CreateException("The field \"spread\" must not be null");
        }
        if (fechainicio == null) {
            throw new CreateException("The field \"fechainicio\" must not be null");
        }
        if (fechafin == null) {
            throw new CreateException("The field \"fechafin\" must not be null");
        }
        if (modalidadspread == null) {
            throw new CreateException("The field \"modalidadspread\" must not be null");
        }
        if (nominalmodalidadspread == null) {
            throw new CreateException("The field \"nominalmodalidadspread\" must not be null");
        }
        if (modalidadpago == null) {
            throw new CreateException("The field \"modalidadpago\" must not be null");
        }
        if (nominalmodalidadpago == null) {
            throw new CreateException("The field \"nominalmodalidadpago\" must not be null");
        }
        if (nombreTasa == null) {
            throw new CreateException("The field \"nombreTasa\" must not be null");
        }
        if (liquidafindeperiodo == null) {
            throw new CreateException("The field \"liquidafindeperiodo\" must not be null");
        }
        
        // TODO add additional validation code, throw CreateException if data is not valid
        setId(id);
        setFechaCorte(fechaCorte);
        setIsin(isin);
        setForma(forma);
        setSpread(spread);
        setFechainicio(fechainicio);
        setFechafin(fechafin);
        setModalidadspread(modalidadspread);
        setNominalmodalidadspread(nominalmodalidadspread);
        setModalidadpago(modalidadpago);
        setNominalmodalidadpago(nominalmodalidadpago);
        setNombreTasa(nombreTasa);
        setLiquidafindeperiodo(liquidafindeperiodo);
        
        return null;
    }
    
    public void ejbPostCreate(Integer id, Timestamp fechaCorte, String isin, Integer forma, Double spread, Timestamp fechainicio, Timestamp fechafin, String modalidadspread, Integer nominalmodalidadspread, String modalidadpago, Integer nominalmodalidadpago, String nombreTasa, Integer liquidafindeperiodo) {
        // TODO populate relationships here if appropriate
        
    }
}
